# Library
libgtk = shared_library('gtk-4',
+ soversion: gtk_soversion,
sources: [typefuncs, gtk_sources, gtkmarshal_h, gtkprivatetypebuiltins_h],
c_args: gtk_cargs + common_cflags,
include_directories: [confinc, gdkinc, gtkinc],
dependencies: gtk_deps + [libgdk_dep, libgsk_dep],
link_with: [libgdk, libgsk, included_input_modules],
- link_args: ['-Bsymbolic'],
+ link_args: common_ldflags,
install: true)
libgtk_dep = declare_dependency(
include_directories: [confinc, gtkinc],
dependencies: gtk_deps + [libgdk_dep, libgsk_dep],
link_with: libgtk,
- link_args: ['-Bsymbolic'])
+ link_args: common_ldflags)
# Installed tools
gtk_binary_age = 100 * gtk_minor_version + gtk_micro_version
+gtk_soversion = '0.@0@.@1@'.format(gtk_binary_age - gtk_interface_age, gtk_interface_age)
+
gtk_api_version = '4.0'
x11_enabled = get_option('enable-x11-backend')
endif
endif
+common_ldflags = []
+
+if host_machine.system() == 'linux'
+ foreach ldflag: [ '-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now', ]
+ if cc.has_argument(ldflag)
+ common_ldflags += [ ldflag ]
+ endif
+ endforeach
+endif
+
+# Maintain compatibility with autotools
+if host_machine.system() == 'darwin'
+ common_ldflags += [ '-compatibility_version=1', '-current_version=1.0', ]
+endif
+
confinc = include_directories('.')
gdkinc = include_directories('gdk')
gtkinc = include_directories('gtk')